package cn.dao;

import cn.model.TBorrow;
import cn.model.VBorrowEquipment;

import java.util.List;

public interface BorrowDAO {
    /**
     * 添加一条信息
     * @param borrow 对象
     * @return 添加成功返回受影响的行数
     */
    public int addBorrow(TBorrow borrow);

    /**
     * 删除一条申请信息
     * @param borrowid 编号
     * @return 添加成功返回受影响的行数
     */
    public boolean deleteBorrow(int borrowid);

    /**
     * 修改一条信息
     * @param borrow 需要修改的对象
     * @return
     */
    public boolean modifyBorrow(TBorrow borrow);

    /**
     * 修改一条状态信息
     * @param audit 需要修改的对象
     * @return
     */
    public boolean modifyBorrowById(int borrowid,int audit);

    /**
     * 获取所有信息的列表
     * @param currentPage 按分页查询的当前页
     * @param pageSize 按分页查询的每页数量
     * @return List
     */
    public List<VBorrowEquipment> getAllBorrowList(int currentPage, int pageSize);

    /**
     * 获取所有维护信息的列表
     * @param currentPage 按分页查询的当前页
     * @param pageSize 按分页查询的每页数量
     * @return List
     */
    public List<VBorrowEquipment> getBorrowListByPage(String wherecondition, int currentPage, int pageSize);
    /**
     * 根据状态查询VBorrowEquipment对象
     * @param audit 状态int
     * @param currentPage 查询开始的页数
     * @param pageSize 查询要求的每页的记录数
     * @return List<VBorrowEquipment>
     */
    public List<VBorrowEquipment> getBorrowByStatus(int audit,int currentPage, int pageSize);

    /**
     * 根据状态查询VBorrowEquipment对象
     * @param userid 用户编号
     * @param currentPage 查询开始的页数
     * @param pageSize 查询要求的每页的记录数
     * @return List<VBorrowEquipment>
     */
    public List<VBorrowEquipment> getBorrowByUserid(String userid,int currentPage, int pageSize);

    /**
     * 获取记录条数的的数量
     * @param
     * @return
     */
    public int getBorrowAmount();

    /**
     * 获取记录条数的的数量
     * @param
     * @return
     */
    public int getAmountByuser(String userid);
    /**
     * 通过ID查询
     * @param borrowid 编号
     * @return 返回用户信息列表
     */
    public VBorrowEquipment getBorrowById(int borrowid);
}
